https://leetcode.cn/problems/VvJkup/description/
//class Solution
//{
//    vector<vector<int>> ret;
//    vector<int> pair;
//    int check[7];
//public:
//    vector<vector<int>> permute(vector<int>& nums)
//    {
//        dfs(nums);
//        return ret;
//    }
//
//    void dfs(vector<int>& nums)
//    {
//        if (pair.size() == nums.size())
//        {
//            ret.push_back(pair);
//            return;
//        }
//
//        for (int i = 0; i < nums.size(); i++)
//        {
//            if (check[i] == false)
//            {
//                check[i] = true;
//                pair.push_back(nums[i]);
//                dfs(nums);
//
//                check[i] = false;
//                pair.pop_back();
//            }
//        }
//    }
//};


https://leetcode.cn/problems/binary-tree-paths/description/
//class Solution {
//public:
//    vector<string> vs;
//    void _bin(TreeNode* root, string path)
//    {
//        path += to_string(root->val);
//        if (!root->left && !root->right)
//        {
//            vs.push_back(path);
//            return;
//        }
//        path += "->";
//        if (root->left)
//            _bin(root->left, path);
//        if (root->right)
//            _bin(root->right, path);
//    }
//    vector<string> binaryTreePaths(TreeNode* root)
//    {
//        vs.clear();
//        if (!root) return vs;
//        string path;
//        _bin(root, path);
//        return vs;
//    }
//};